/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package app.util;

import app.alumnoe.AlumnoE;
import app.conexion.Conexion;
import app.conexion.ConexionException;
import app.empresa.Empresa;
import app.empresa.Vacante;
import app.usuario.Usuario;
import app.usuario.beans.Correo;
import app.usuario.beans.Telefono;
import app.util.Fecha;
import app.util.appException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author v1ctor
 */
public class CreaRegistrosPrueba {

    public static void creaRegistrosEmpresa() {
        try {

            Conexion con = new Conexion();

            for (int cuantos = 0; cuantos < 20000; cuantos++) {

                String usuario = "usuario " + cuantos;
                String contrasena = "contrasena";

                Random r = new Random();
                boolean activado = r.nextBoolean();


                Usuario u = new Usuario(-1, usuario, contrasena, activado, "E");
                u.save();

                //Creamos la nueva empresa en la tabla de empresas
                String nombre = "Nombre Empresa >> " + cuantos;
                String descripcion = "descripción: " + cuantos;
                String RFC = "RFC";
                String wb = "http://www.pagWEB_" + cuantos + ".com";
                String contacto = "Nombre del responsable";
                String correo = "v1ctor@ciencias.unam.mx";
                String telefono = "234234";
                Empresa e = new Empresa(u.getnIdUsuario(), nombre,
                        descripcion, RFC, wb, contacto,
                        correo, telefono);
                e.save();

                activado = r.nextBoolean();
                boolean beca = r.nextBoolean();
                boolean pracProf = r.nextBoolean();

                int anio = 2011;
                int mes = r.nextInt(12) + 1;
                int dia = r.nextInt(31) + 1;
                Fecha f = new Fecha(anio, mes, dia);


                Vacante a = new Vacante(-1, u.getnIdUsuario(), "Título " + cuantos, "Descripción " + cuantos,
                        "profesionales", "requisitos", "lo que ofrecen las vacantes", f,
                        "información", "Nombre completo del responsable", "v1ctor@ciencias.unam.mx", "5527754077",
                        0.15, 0.56, beca, pracProf, activado);
                a.save();

                activado = r.nextBoolean();

                beca = r.nextBoolean();
                pracProf = r.nextBoolean();

                anio = 2011;
                mes = r.nextInt(12) + 1;
                dia = r.nextInt(31) + 1;
                f = new Fecha(anio, mes, dia);


                Vacante b = new Vacante(-1, u.getnIdUsuario(), "Título " + cuantos, "Descripción " + cuantos,
                        "profesionales", "requisitos", "lo que ofrecen las vacantes", f,
                        "información", "Nombre completo del responsable", "v1ctor@ciencias.unam.mx", "5527754077",
                        0.15, 0.56, beca, pracProf, activado);
                b.save();

            }

            con.close();

        } catch (appException ex) {
            Logger.getLogger(CreaRegistrosPrueba.class.getName()).log(Level.SEVERE, null, ex);

        } catch (ConexionException ex) {
            Logger.getLogger(CreaRegistrosPrueba.class.getName()).log(Level.SEVERE, null, ex);

        }

    }

    public static void creaRegistrosAlumno() {
        try {
            //Revisar si el usuario está disponible
            Conexion con = new Conexion();


            for (int i = 0; i < 10000; i++) {

                //Creamos primero el usuario general
                Usuario u = new Usuario(-1, "cuenta " + i, "contrasena", true, "A");
                u.save();

                //Creamos un Alumno en específico
                boolean estEgr = false;

                Random r = new Random();
                int carrera = r.nextInt(6) + 1;
                int grado = r.nextInt(3) + 1;

                Fecha f = Fecha.getTodayDate();
                AlumnoE a = new AlumnoE(u.getnIdUsuario(), carrera, grado, estEgr, "nombre " + i, "paterno" + i,
                        "materno" + i, "cuenta" + i, f, -1);
                a.save();

                //Agregamos el correo del alumno
                Correo correos = new Correo(-1, u.getnIdUsuario(), "v1ctor@ciencias.unam.mx");
                correos.save();

                //Guardar telefonos
                Telefono tel = new Telefono(-1, u.getnIdUsuario(), "56411887");
                tel.save();
            }

            con.close();

        } catch (appException ex) {
            Logger.getLogger(CreaRegistrosPrueba.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ConexionException ex) {
            Logger.getLogger(CreaRegistrosPrueba.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void creaRegistrosVacantes() {
        try {
            //Revisar si el usuario está disponible
            Conexion con = new Conexion();


            for (int i = 0; i < 2000; i++) {

                //Creamos primero el usuario general
                Usuario u = new Usuario(-1, "cuenta " + i, "contrasena", true, "A");
                u.save();

                //Creamos un Alumno en específico
                boolean estEgr = false;

                Random r = new Random();
                int carrera = r.nextInt(6) + 1;
                int grado = r.nextInt(3) + 1;

                Fecha f = Fecha.getTodayDate();
                AlumnoE a = new AlumnoE(u.getnIdUsuario(), carrera, grado, estEgr, "nombre " + i, "paterno" + i,
                        "materno" + i, "cuenta" + i, f, -1);
                a.save();

                //Agregamos el correo del alumno
                Correo correos = new Correo(-1, u.getnIdUsuario(), "v1ctor@ciencias.unam.mx");
                correos.save();

                //Guardar telefonos
                Telefono tel = new Telefono(-1, u.getnIdUsuario(), "56411887");
                tel.save();
            }

            con.close();

        } catch (appException ex) {
            Logger.getLogger(CreaRegistrosPrueba.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ConexionException ex) {
            Logger.getLogger(CreaRegistrosPrueba.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void main(String args[]) {

        creaRegistrosEmpresa();
        creaRegistrosAlumno();
    }
}
